home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / edit / e34.zip / READ.ME < prev    next >
Text File  |  1989-01-10  |  10KB  |  249 lines

  1. ┌───────────────────────────┐
  2. │E! SHORT INSTALLATION GUIDE│
  3. └───────────────────────────┘
  4.  
  5. To install E!:
  6.  
  7. 1/  Un-arc the files contained in both  E!34DSK1.ARC  and  E!34DSK2.ARC in
  8. a directory called C:\E!  (or  whatever  name  you prefer).  Do not delete
  9. these files.  They  may  be  useful  to  you  if  E! files are lost. Please
  10. distribute E!34DSK1.ARC and E!34DSK2.ARC instead of E! individual files.
  11.  
  12. If  you  have  a two diskette drives system be aware that all E! files will
  13. not  fit  on  a  single diskette. E!34DSK1 contains all files really needed
  14. to  execute  E!.  E!34DSK2  contains  E!  documentation, utilities and font
  15. files.
  16.  
  17. 2/  At  the  DOS  prompt  enter SET E!=C:\E! (drive and directory where you
  18. copied  E!  files). If you have a RAM drive copy all files to it and use it
  19. as E! environment variable.
  20.  
  21. 3/  At  the DOS prompt enter E! E!.PRO and "uncomment" all options you want
  22. to activate. E!.PRO is a self-explanatory file. Save it using F4. This step
  23. is not mandatory and you may leave the main profile unchanged (that is, you
  24. will  have no profile at all since it is a dummy profile).
  25.  
  26. 4/  Eventually  enter  SET  E!PATH=path;path;..... at the DOS prompt. If E!
  27. don't  find  the  specified  files in the current directory, it will search
  28. in all paths specified in E!PATH or in the APPEND command of DOS.
  29.  
  30. 5/ Include the directory where you installed E! in your PATH command.
  31.  
  32. So far, you're done.
  33.  
  34. To edit one or more files enter
  35.  
  36. E! filespec1 filespec2 ....
  37.  
  38. at the DOS prompt.
  39.  
  40. /L  or  /l anywhere on the command line will reload all files edited in the
  41. last  session  of  E!  in the current directory ( if you have activated the
  42. LOG switch in your active profile).
  43.  
  44. To  print  the  documentation,  just  enter  "type e!.doc > prn" at the DOS
  45. prompt. E!.DOC is pre-paginated.
  46.  
  47. I  really  hope  E!  will  be  very useful to you and pleasant to use. Have
  48. fun!
  49.  
  50.  
  51. ┌──────────┐
  52. │E! HISTORY│
  53. └──────────┘
  54.  
  55. I'm  a  System  Engineer  working  at  IBM  in  France and I used many text
  56. editors  in  my  programmer's life. The best tools I've seen (until I wrote
  57. E!)  are  BRIEF  and  E3,  an  IBM  internal  use.  They  are very powerful
  58. programs  but  they  both have the same drawback : they have not many basic
  59. functions  and  they  have  to  be  programmed  to offer more sophisticated
  60. functionalities.  Well,  I  think  many  people  don't  want  to spend time
  61. programming  the  tool  they  use  to  write  programs...  Hmm, you see the
  62. idea?
  63.  
  64. So I wrote E!. Many functions, quick, efficient, macros capabilities but no
  65. programming. I'm personnaly very pleased with the result but it's up to you
  66. to say if you are too.
  67.  
  68. It  took  many of my time from the past two years to write this program but
  69. it  was  really exciting. It was first written using Turbo Pascal 3.0 but I
  70. quickly  got  problems with the program size and I used Turbo Power's Turbo
  71. Extender  to  produce  a  150  kb  monster.  Versions  2.x  and  3.x  where
  72. rewritten  using  Turbo  Pascal  4.0 and Assembly language (Microsoft MASM)
  73. for  some  video routines. Beta testers were professional programmers. They
  74. have  been  very cruel to me but this helped a lot... and now they're using
  75. E!.
  76.  
  77. Planned enhancements are :
  78.  
  79. ("planned  enhancement"  has here the same meaning as in the IBM dialect; I
  80. sincerely plan to do this but I can't tell when I'll achieve it)
  81.  
  82. - Better windowing
  83. - Swapping to disk when calling DOS
  84. - Regular search expressions (although I never used them with other
  85.   editors)
  86. - EMS support
  87. - OS/2 version (as soon as your registration fee allow me to purchase an
  88.   OS/2 machine)
  89.  
  90. All  this  will  depend  on  the  success  E!  will gain among text editors
  91. users.
  92.  
  93. There  are many techniques used to design a text editor. Linked list method
  94. (Borland  Editor  toolbox)  is  very  easy  to  implement but has very poor
  95. performances.  Moreover,  block  manipulation is very difficult with such a
  96. structure.  The  "contiguous  block"  design and the "contiguous block with
  97. moving  hole"  design are very efficient for string search but too slow for
  98. lines  or  strings  insertion  when  the  block  becomes  bigger.  I used a
  99. technique that could be called "dynamic pointers arrays allocation". A text
  100. in E! is represented by an array of pointers to text strings. This array is
  101. an  element  of  a  larger  structure  describing  the  current text. These
  102. structures are linked together in a circular list. A new text structure can
  103. easily  be created and inserted in the circular list. The big difficulty is
  104. to  manage  the pointers arrays size when the text is loaded and when lines
  105. are inserted.
  106.  
  107. This  method  cumulate  advantages  of other methods and has few drawbacks.
  108. It  is  easier  to  manage  blocks with an array of strings. But since this
  109. array  is  actually  not  an  array of fixed length strings but an array of
  110. pointers  to  strings,  memory  resources can be managed efficiently and no
  111. space  is  wasted.  In  E!  there  is  never ONE extra byte allocated for a
  112. string  that  shouldn't  need  it.  Inserting  and deleting lines in such a
  113. structure  is  very  easy since we have only to move pointers and not whole
  114. strings.
  115.  
  116. ┌──────────────────────────────────────────────┐
  117. │MODIFICATIONS SINCE LAST DOCUMENTATION UPDATE │
  118. └──────────────────────────────────────────────┘
  119.  
  120. The  "Paired  Brace"  command  (Alt  6)  has been enhanced. It now works on
  121. several  levels  (lines)  and  not  only on the current line. Moreover, the
  122. BEGIN  / END pair is now included in "braces" that E! is able to detect. So
  123. Alt  7  (match  brace)  will  now  insert  a  "BEGIN"  or  a  "END"  if the
  124. corresponding "brace" is present on the current line.
  125.  
  126.               *****************************************
  127.  
  128. If  you  have to use several times the same path within file specifications
  129. on the E! command line, you may now use the "+" sign instead :
  130.  
  131.          E!  c:\myprogs\sources\*.c   c:\myprogs\sources\*.h
  132.  
  133. should be replaced with
  134.  
  135.          E!  c:\myprogs\sources\*.c   +*.h
  136.  
  137. Each  time  the  "+"  sign  is found at the beginning of a file specification,
  138. the  path given in the previous specification will be used. So you may use the
  139. "+" sign each time you need it on the command line:
  140.  
  141.          E! c:\myprogs\src\*.pas +*.inc  c:\texts\*.txt +*.doc
  142.  
  143. is the same as
  144.  
  145.    E! c:\myprogs\src\*.pas c:\myprogs\src\*.inc c:\texts\*.txt c:\texts\*.doc
  146.  
  147. ┌──────────────────────────┐
  148. │E! TIPS, CAVEATS and HINTS│
  149. └──────────────────────────┘
  150.  
  151. If  you  use E! as "every day's" editor you may want to copy E!.EXE and all
  152. files  related  to  E!  on your RAM disk (if you ever installed any on your
  153. system)  each  time  you initialize your computer (autoexec.bat). This way,
  154. E!  will  edit your files very quickly and your macros will execute quicker
  155. (although  they  perform  very good even if you run them from a hard disk).
  156. Don't forget to set the E! environment variable to the right value.
  157.  
  158.                         **************
  159.  
  160. Personally,  I  have  programming profiles and text editing profiles. I use
  161. different  color  settings  for  each  profile  type.  So, I always know by
  162. simply looking at the screen which profile is active.
  163.  
  164.  
  165.                         **************
  166.  
  167. Macros  are  generally  used to avoid repetitive tasks but you can also use
  168. macros to implement new E! functions. Here is a little example:
  169.  
  170. Generate the following macros using MACGEN and name them:
  171.  
  172. GOLEFT.MAC             GORIGHT.MAC
  173.  
  174. [EDITMODE]             [EDITMODE]
  175. [BLOCK_MARK]           [BLOCK_MARK]
  176. [LEFT]                 [RIGHT]
  177. [MOVE_BLOCK]           [RIGHT]
  178. [UNMARK]               [MOVE_BLOCK]
  179.                        [LEFT]
  180.                        [UNMARK]
  181.  
  182. I  have  assigned  these  macros  to my Alt F11 and Alt F12 keys. Now, if I
  183. hit  one  of  these  keys,  the  current character is moved smoothly to the
  184. left  or  to  the  right.  This  is very useful, for example, when you type
  185. characters in reverse order.
  186.  
  187.                         **************
  188.  
  189. Don't set the DELAY value too low. It could then be possible that